package com.tjec.project.mdmSynchronous.mapper;

import com.tjec.project.mdmSynchronous.domain.BmsProjectLeader;
import java.util.List;

/**
 * 项目负责人Mapper接口
 * 
 * @author villwang
 * @date 2020-05-25
 */
public interface BmsProjectLeaderMapper 
{
    /**
     * 查询项目负责人
     * 
     * @param guid 项目负责人ID
     * @return 项目负责人
     */
    public BmsProjectLeader selectBmsProjectLeaderByGuid(String guid);

    /**
     * 查询项目负责人（通过用户表GlobalId查询项目负责人表userGlobalid可能会找出多条项目负责人数据）
     *
     * @param userGlobalId 项目负责人ID
     * @return 项目负责人
     */
    public List<BmsProjectLeader> selectBmsProjectLeaderByUserglobalId(String userGlobalId);

    /**
     * 查询项目负责人列表
     * 
     * @param bmsProjectLeader 项目负责人
     * @return 项目负责人集合
     */
    public List<BmsProjectLeader> selectBmsProjectLeaderList(BmsProjectLeader bmsProjectLeader);

    /**
     * 新增项目负责人
     * 
     * @param bmsProjectLeader 项目负责人
     * @return 结果
     */
    public int insertBmsProjectLeader(BmsProjectLeader bmsProjectLeader);

    /**
     * 修改项目负责人
     * 
     * @param bmsProjectLeader 项目负责人
     * @return 结果
     */
    public int updateBmsProjectLeader(BmsProjectLeader bmsProjectLeader);

    /**
     * 修改项目负责人
     *
     * @param bmsProjectLeader 项目负责人
     * @return 结果
     */
    public int updateBmsProjectLeaderByUserGlobalid(BmsProjectLeader bmsProjectLeader);

    /**
     * 删除项目负责人
     * 
     * @param guid 项目负责人ID
     * @return 结果
     */
    public int deleteBmsProjectLeaderByGuid(String guid);

    /**
     * 批量删除项目负责人
     * 
     * @param guids 需要删除的数据ID
     * @return 结果
     */
    public int deleteBmsProjectLeaderByGuids(String[] guids);
    /**
     * 获取最大时间戳
     *
     * @param
     * @return 结果
     */
    public long selectMaxTime();

    /**
     * 获取不在用户表中的项目负责人
     *
     * @param
     * @return 结果
     */
    public List<BmsProjectLeader> selectBmsProjectLeaderNotSysUser(BmsProjectLeader bmsProjectLeader);
    
    /**
     * 更新项目负责人表的员工编号
     * @param jobNo
     * @return
     */
    public int updateLeaderJobNo(String newJobNo,String oldJobNo);

    /**
     * 查询项目负责人
     *
     * @param globalId 项目负责人全局ID
     * @return 项目负责人
     */
    public BmsProjectLeader selectBmsProjectLeaderByGlobalId(String globalId);

    /**
     * 修改项目负责人
     *
     * @param bmsProjectLeader 项目负责人
     * @return 结果
     */
    public void updateBmsProjectLeaderByGlobalid(BmsProjectLeader bmsProjectLeader);

    /**
     * 查询项目负责人信息通过用户ID
     *
     * @param userId 用户guid
     * @return 结果
     */
    public BmsProjectLeader selectBmsProjectLeaderByUserId(String userId);
}
